import java.util.*;

public class UnusualAdd {
    public int addAB(int A, int B) {
        // write code here
        while(B != 0) {
            //A&B为是否需要进位,为1的二进制位都需要进位
            //左移是因为需要进位的位在左边
            int tmp = (A&B) << 1;
            //求出不需要进位的值
            A = A^B;
            //下一次把第一次求出的不需要进位的值依次进位,直到进位的值已经进位完全
            B = tmp;
        }
        return A;
    }
}